import store from '@/store'

/**
 * @param {Array} value
 * @returns {Boolean}
 * @example see @/views/permission/directive.vue
 */
export default function checkPermission(value) {
  if (value && value instanceof Array && value.length > 0) {
    const roles = store.getters && store.getters.roles
    const permissionRoles = value

    const hasPermission = roles.some(role => {
      return permissionRoles.includes(role)
    })

    if (!hasPermission) {
      return false
    }
    return true
  } else {
    console.error(`need roles! Like v-permission="['admin','editor']"`)
    return false
  }
}

// 是否有访问路径的权利
export function checkCanAccess(path) {
  console.log(path)

  const permissions = store.getters && store.getters.permissions
  if (inArray(path, permissions)) {
    return true
  }
  return false
}

function inArray(search, object) {
  for (let i = 0; i < object.length; i++) {
    if (search === object[i]) {
      return true
    }
  }
  return false
}
